package demo4;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 邓大帅
 * Date: 2024-01-11
 * Time: 21:40
 */
//字符串常量池：
//1.双引号引起来的 统一放到常量池
//2.如果常量池有的 就不再重复存储了
public class Test2 {
    public static void main(String[] args) {
//        String StringBuffer StringBuilder 三者区别：
//        String 都是在新对象下操作，String不可变 StringBuffer和StringBuilder是在原对象上进行操作，可变
//        StringBuffer多用在多线程，线程安全 StringBuilder用在单线程，线程不安全
//        但并不意味着StringBuffer的所有方法都上锁了
    }
    public static void main1(String[] args) {
//        这种写法并不好，会产生很多新的对象
        String str = "hello";
        str += "abc";//不建议在循环中使用+对字符串进行拼接，效率低下且会耗费内存
//        上面的代码等价于下面的代码
        StringBuffer s = new StringBuffer();
        s.append(str);
        s.append("abc");
        str = s.toString();
    }
}
